import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class Test1 {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("1");
        list.add("12");
        list.add("123");

        //法一：for循环遍历
        for (int i=0;i< list.size();i++){
            System.out.println(list.get(i));
        }

        //法二：for-each循环遍历
        //ArrayList的底层是数组，所以可以这样操作
        for(String str:list){
            System.out.println(str);
        }

        //法三：借助迭代器
        Iterator it = list.iterator();//因为AL实现了Iterable,所以它可以所以迭代器遍历
        while(it.hasNext()){
            System.out.print(it.next() + " ");
        }
    }

    public static void main1(String[] args) {
        //这样创建没什么特别的....
        //因为ArrayList实现了List接口，所以用List来接收也行
        ArrayList<Integer> list1 = new ArrayList<>();
        list1.add(1);//添加
        list1.add(2);
        list1.add(3);

        //ArrayList也实现了Collection
        ArrayList<Integer> list2 = new ArrayList<>(list1);
        System.out.println(list2); //list2没add(),却打印[1,2,3]

        //这也没什么特别的
        ArrayList<Integer> list3 = new ArrayList<>(10);//顺序表初始空间为10

    }
}
